Computer Programming Error Handling Techniques: On Error Resume Next, On Error GoTo গাইড ও নোট

288

VBA তে Error Handling Techniques: On Error Resume Next এবং On Error GoTo

VBA তে Error Handling হল সেই প্রক্রিয়া যেখানে আপনি আপনার কোডের মধ্যে ত্রুটি (Error) ঘটে গেলে তা কীভাবে পরিচালনা করবেন তা নির্ধারণ করেন। Error Handling প্রয়োগ করার মাধ্যমে আপনার কোড আরও স্থিতিস্থাপক এবং ত্রুটির সময় ব্যবস্থাপনা সহজ হয়। দুইটি সাধারণ ত্রুটি হ্যান্ডলিং কৌশল হলো On Error Resume Next এবং On Error GoTo। এই দুটি কৌশল ব্যবহার করে আপনি ত্রুটির পরিস্থিতিতে কোডের আচরণ নিয়ন্ত্রণ করতে পারবেন।


1. On Error Resume Next

On Error Resume Next ব্যবহার করলে, কোড যখন ত্রুটি ঘটে তখন VBA সরাসরি পরবর্তী লাইনে চলে যায় এবং ত্রুটিটি উপেক্ষা করে না থেমে পরবর্তী কোড চালিয়ে যায়। এটি তখন ব্যবহার করা হয় যখন আপনি জানেন যে কিছু ত্রুটি ঘটতে পারে, কিন্তু সেই ত্রুটিটি কোডের কার্যকারিতায় গুরুত্বপূর্ণ নয় এবং আপনি কোডের অন্য অংশ চালিয়ে যেতে চান।

On Error Resume Next এর Sintax:

On Error Resume Next

On Error Resume Next এর উদাহরণ:

Sub ResumeNextExample()
    On Error Resume Next ' ত্রুটি হলে পরবর্তী লাইনে চলে যাবে
    
    Dim result As Integer
    result = 10 / 0 ' বিভাজক শূন্য দ্বারা ত্রুটি ঘটবে
    MsgBox "Result is: " & result ' এই লাইনটি চলে যাবে, ত্রুটি উপেক্ষা করা হয়েছে
    
    MsgBox "Code continued after error"
End Sub

এখানে:

  • কোডটি 10 / 0 এর মাধ্যমে একটি বিভাজক শূন্যের ত্রুটি ঘটানোর চেষ্টা করে, কিন্তু On Error Resume Next স্টেটমেন্টের কারণে কোডটি পরবর্তী লাইনে চলে যায় এবং ত্রুটি উপেক্ষা করা হয়।
  • MsgBox "Result is: " & result প্রদর্শন হবে, তবে এর মান 0 হবে কারণ result এ কোনো মান সেট হয়নি (কারণ ত্রুটি ঘটেছিল)।
  • তারপর কোডের পরবর্তী অংশও চালু থাকবে এবং "Code continued after error" প্রদর্শিত হবে।

2. On Error GoTo

On Error GoTo ব্যবহার করলে কোডটি ত্রুটি ঘটলে একটি নির্দিষ্ট লেবেলে চলে যাবে, যেখানে আপনি ত্রুটির জন্য কোড পরিচালনা করতে পারবেন। এটি সাধারণত ত্রুটি হ্যান্ডলিং ব্লক তৈরির জন্য ব্যবহৃত হয়। কোড ত্রুটি ঘটলে এটি পূর্বনির্ধারিত অংশে চলে যায় এবং সেখানে আপনি ত্রুটি ম্যানেজমেন্ট করতে পারেন।

On Error GoTo এর Sintax:

On Error GoTo ErrorHandler
  • ErrorHandler: এটি একটি লেবেল, যেখানে ত্রুটি হলে কোড চলে যাবে।

On Error GoTo এর উদাহরণ:

Sub GoToExample()
    On Error GoTo ErrorHandler ' ত্রুটি হলে ErrorHandler লেবেলে চলে যাবে

    Dim result As Integer
    result = 10 / 0 ' বিভাজক শূন্য দ্বারা ত্রুটি ঘটবে
    MsgBox "Result is: " & result
    
    Exit Sub ' ত্রুটি ঘটলে কোড ErrorHandler লেবেলে চলে যাবে

ErrorHandler:
    MsgBox "An error occurred: " & Err.Description ' ত্রুটির বিবরণ প্রদর্শন
End Sub

এখানে:

  • On Error GoTo ErrorHandler স্টেটমেন্টটি কোডের execution কন্ট্রোলকে ErrorHandler লেবেলে পাঠিয়ে দেয়, যখন 10 / 0 ত্রুটি ঘটবে।
  • Err.Description ত্রুটির বিবরণ প্রদান করবে। এই উদাহরণে আউটপুট হবে: **"An error occurred: Division by zero"**।
  • Exit Sub ব্যবহৃত হয়েছে যাতে ত্রুটি হ্যান্ডলিং এর আগে অন্যান্য কোড এক্সিকিউট না হয়।

On Error GoTo 0 (ত্রুটি হ্যান্ডলিং বন্ধ করা)

আপনি যদি On Error GoTo ব্যবহার করে ত্রুটি হ্যান্ডলিং শুরু করেন, তবে On Error GoTo 0 ব্যবহার করে ত্রুটি হ্যান্ডলিং বন্ধ করতে পারেন।

On Error GoTo 0 এর উদাহরণ:

Sub GoToZeroExample()
    On Error GoTo ErrorHandler ' ত্রুটি হলে ErrorHandler লেবেলে যাবে
    
    Dim result As Integer
    result = 10 / 0 ' বিভাজক শূন্য দ্বারা ত্রুটি ঘটবে
    MsgBox "Result is: " & result
    
    On Error GoTo 0 ' ত্রুটি হ্যান্ডলিং বন্ধ হবে
    
    ' নতুন ত্রুটি ঘটে, কিন্তু এইবার হ্যান্ডলিং হবে না
    result = 10 / 0 ' ত্রুটি হওয়ার পরে আর কোন হ্যান্ডলিং হবে না
    
    Exit Sub
    
ErrorHandler:
    MsgBox "An error occurred: " & Err.Description
End Sub

এখানে:

  • On Error GoTo 0 ব্যবহৃত হয়েছে, যার মাধ্যমে ত্রুটি হ্যান্ডলিং বন্ধ করা হয়েছে।
  • দ্বিতীয়বার ত্রুটি ঘটলে আর কোনো ত্রুটি হ্যান্ডলিং প্রক্রিয়া সম্পাদিত হবে না এবং প্রোগ্রাম থেমে যাবে।

Comparison: On Error Resume Next vs On Error GoTo

FeatureOn Error Resume NextOn Error GoTo
কাজের ধরনত্রুটি ঘটলে পরবর্তী লাইনে চলে যাবে, ত্রুটি উপেক্ষা করবেত্রুটি ঘটলে নির্দিষ্ট লেবেলে চলে যাবে এবং সেখান থেকে হ্যান্ডলিং হবে
ব্যবহারত্রুটি উপেক্ষা করা প্রয়োজন হলে, কোড চলমান রাখার জন্যত্রুটি ম্যানেজমেন্ট করতে, নির্দিষ্ট লেবেলে ত্রুটি পাঠানোর জন্য
ত্রুটির প্রভাবত্রুটি ঘটলেও কোড চলতে থাকবে এবং পরবর্তী কোড এক্সিকিউট হবেত্রুটি হলে কোড থেমে যাবে এবং নির্দিষ্ট ত্রুটি হ্যান্ডলিং সঞ্চালিত হবে
উদাহরণ ব্যবহারযখন আপনি জানেন যে ত্রুটি ঘটতে পারে তবে তা কোডের কাজে বাধা দেবে নাযখন ত্রুটি সঠিকভাবে পরিচালনা করা প্রয়োজন এবং উপযুক্ত বার্তা প্রদর্শন করা উচিত

উপসংহার

  • On Error Resume Next ব্যবহার করে আপনি ত্রুটিগুলি উপেক্ষা করে কোড চালিয়ে যেতে পারেন। এটি তখন উপকারী যখন আপনি জানেন যে ত্রুটি কিছুটা ক্ষতিকর নয় এবং কোডের অবশিষ্ট অংশে কোনো বাধা সৃষ্টি করবে না।
  • On Error GoTo ব্যবহার করে আপনি ত্রুটি ঘটলে কোডকে একটি নির্দিষ্ট স্থান বা লেবেলে পাঠাতে পারেন, যেখানে আপনি ত্রুটির জন্য ব্যবস্থা নিতে পারবেন। এটি একটি শক্তিশালী এবং সুনির্দিষ্ট ত্রুটি হ্যান্ডলিং কৌশল।
Content added By
Promotion

Are you sure to start over?

Loading...